@deffn {Scheme Procedure} xosd-create [number-of-lines]
Create and return a new OSD object with the specified maximum
@var{number-of-lines} (1 by default) that this object can display
(this value cannot be changed).
@end deffn

@deffn {Scheme Procedure} xosd-destroy osd
Destroy the @var{osd} object (free up the used memory).
@end deffn

@deffn {Scheme Procedure} xosd-display-string osd line-number string
Display @var{string} in the @var{line-number} of the @var{osd} object.
The @var{line-number} must be less than the number of lines set in the
call to @code{xosd-create}.

This procedure returns immediately, but the @var{string} is displayed
until the timeout limit, set by @code{xosd-set-timeout!}.  If blocking
is required, @code{xosd-wait-until-no-display} should be called after
this procedure.
@end deffn

@deffn {Scheme Procedure} xosd-display-percentage osd line-number percentage
Display @var{percentage} in the @var{line-number} of the @var{osd}
object.  @var{percentage} is the number between 0 and 100.
See also @code{xosd-display-string}.
@end deffn

@deffn {Scheme Procedure} xosd-display-slider osd line-number percentage
Display slider in the @var{line-number} of the @var{osd} object.
@var{percentage} (slider position) is the number between 0 and 100.
See also @code{xosd-display-string}.
@end deffn

@deffn {Scheme Procedure} xosd-hide osd
Hide the @var{osd} object.
@end deffn

@deffn {Scheme Procedure} xosd-show osd
Show (redisplay) the hidden @var{osd} object.
@end deffn

@deffn {Scheme Procedure} xosd-onscreen? osd
Return @code{#t} if the @var{osd} object is displayed.  Return
@code{#f} otherwise.
@end deffn

@deffn {Scheme Procedure} xosd-wait-until-no-display osd
Wait until the @var{osd} object is not displayed.
See also @code{xosd-display-string}.
@end deffn

@deffn {Scheme Procedure} xosd-set-timeout! osd time
Change the @var{time} before the @var{osd} object is hidden.
@end deffn

@deffn {Scheme Procedure} xosd-set-font! osd font
Change the font of the @var{osd} object.  @var{font} is a string with
the XLFD full name of the new font (see @code{xfontsel} program for
details).
@end deffn

@deffn {Scheme Procedure} xosd-set-bar-length! osd length
Change the @var{length} of a slider or percentage bar of the @var{osd}
object.  Setting @var{length} to -1 reverts to the default behavior.
@end deffn

@deffn {Scheme Procedure} xosd-set-pos! osd position
Change the vertical @var{position} of the @var{osd} object.
@var{position} should be one of the following symbols: @code{top},
@code{middle}, or @code{bottom}.
@end deffn

@deffn {Scheme Procedure} xosd-set-align! osd align
Change the horizontal alignment of the @var{osd} object.
@var{align} should be one of the following symbols: @code{left},
@code{center}, or @code{right}.
@end deffn

@deffn {Scheme Procedure} xosd-set-vertical-offset! osd offset
Change the vertical offset of the @var{osd} object.  @var{offset} is
the number of pixels to offset the @var{osd} from its default vertical
position (specified by @code{xosd-set-pos!}).
@end deffn

@deffn {Scheme Procedure} xosd-set-horizontal-offset! osd offset
Change the horizontal offset of the @var{osd} object.  @var{offset} is
the number of pixels to offset the @var{osd} from its default
horizontal position (specified by @code{xosd-set-align!}).
@end deffn

@deffn {Scheme Procedure} xosd-set-shadow-offset! osd offset
Change the offset of the text shadow of the @var{osd} object.
@var{offset} is the new shadow offset in pixels.
@end deffn

@deffn {Scheme Procedure} xosd-set-outline-offset! osd offset
Change the offset of the text outline of the @var{osd} object.
@var{offset} is the new outline offset in pixels.
@end deffn

@deffn {Scheme Procedure} xosd-set-shadow-colour! osd color
Change the color of the text shadow of the @var{osd} object.
See @code{xosd-set-colour!} for the meaning of @var{color}.
@end deffn

@deffn {Scheme Procedure} xosd-set-outline-colour! osd color
Change the color of the text outline of the @var{osd} object.
See @code{xosd-set-colour!} for the meaning of @var{color}.
@end deffn

@deffn {Scheme Procedure} xosd-set-colour! osd color
Change the color of the @var{osd} object.
@var{color} is a string with the color value (e.g., @code{#2e8b57})
or the color name (e.g., @code{DeepSkyBlue}).
@end deffn

@deffn {Scheme Procedure} xosd-get-colour osd
Get the RGB value of the @var{osd} object's color.
Return a list of 3 numbers (red, green and blue).
@end deffn

@deffn {Scheme Procedure} xosd-get-number-lines osd
Return the maximum number of lines allowed for the @var{osd} object.
@end deffn

@deffn {Scheme Procedure} xosd-scroll osd number-of-lines
Scroll the @var{osd} object by the @var{number-of-lines}.
@end deffn
